package com.molichuxing.gateway.bff.order.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author: renzhengyu
 * @Description:
 * @Date: Created in 20:11 2019/8/21
 * @Modified By:
 **/
@Data
public class OrderDealerDetailBasicVo extends ResponseRootDto {

    private static final long serialVersionUID = -7278641643671745747L;
    /**
     * id
     */
    private Integer id;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    private Long orderCode;

    /**
     * 经销商id
     */
    private Integer dealerId;

    /**
     * 经销商名称
     */
    @ApiModelProperty(value = "经销商名称")
    private String dealerName;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    private String contact;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String contactNumber;

    /**
     * 分子公司id
     */
    private Integer subCompanyId;

    /**
     * 分子公司名称
     */
    @ApiModelProperty(value = "分子公司名称")
    private String subCompanyName;

    /**
     * 合同编号
     */
    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    /**
     * 合同签订日期
     */
    @ApiModelProperty(value = "合同签订日期")
    private LocalDateTime contractSignDate;

    /**
     * 起租日期
     */
    private LocalDateTime startLeaseDate;

    /**
     * 还款日
     */
    @ApiModelProperty(value = "还款日")
    private Integer repayDate;

    /**
     * 租期（12：12月，n：n月）
     */
    @ApiModelProperty(value = "租期")
    private Integer tenancy;

    /**
     * 付款周期（0：全款，1：月付，3：3月付，n：n月付）
     */
    @ApiModelProperty(value = "付款周期")
    private Integer paymentCycle;

    /**
     * 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购）
     */
    private Integer orderStatus;

    /**
     * 租售数量
     */
    private Integer rentNumbers;

    /**
     * 总租金
     */
    private BigDecimal rentAmount;

    /**
     * 总保证金
     */
    private BigDecimal depositAmount;

    /**
     * 总期数
     */
    private Integer totalPeriods;

    /**
     * 有效期（起期+租期）
     */
    @ApiModelProperty(value = "有效期")
    private String periodValidity;

    /**
     * 合同信息
     */
    @ApiModelProperty(value = "合同扫描件")
    private List<OrderDealerContractVo> contractList;
}
